#ifndef _NETFRAMEIMPL_H_
#define _NETFRAMEIMPL_H_

#include "stdafx.h"

class CNetFrameImpl : public INetFrame, public IPlugin, public IPluginRun, public CUnknownImp
{
public:
    CNetFrameImpl(void);
    virtual ~CNetFrameImpl(void);

    BEGIN_STDCOM_MAP
    STDCOM_INTERFACE_ENTRY_UNKNOWN_(INetFrame)
    STDCOM_INTERFACE_ENTRY(IPlugin)
    STDCOM_INTERFACE_ENTRY(IPluginRun)
    STDCOM_INTERFACE_ENTRY(INetFrame)
    END_STDCOM_MAP

    // IPlugin
    std_method(Init)(IBase* pRot, IBase* pBase);
    std_method(Uninit)();

    // IPluginRun
    std_method(Start)(_pid_t pid, unsigned int type);
    std_method(Stop)(unsigned int exit);

    // INet
    std_method(Create)(int type, IBase** pBase);

private:
    _lComPtr<IRot> m_pRot;
    _lComPtr<IAsynFrame> m_pIAsynFrame;
};

#endif
